Software systems are foreseen to become more sensitive and reactive to their users' current situation and activities. Software systems running on mobile devices will need to sense their physical and digital environment, for instance noise level, location, movement, keyboard activity, software application in use, etc. Location-dependent applications are flourishing in research communities and emerging in the marketplace. Indeed, the location of a device or of a user is an important aspect to consider because of the implication it has regarding potential people activities and surrounding resources. Location is of particular interest in many applications. Location is currently either thought as a logical location (for instance “room 102”) or as an area defined in a coordinate system or as a functional location (for instance “office of John Smith”).
With the widespread availability of GPS and inexpensive GPS receivers, determination of location using GPS is a good solution for outdoor situations. GPS is a line of sight application which does not operate very well within buildings, unless pseudosatellites, or pseudolites, which are ground-based GPS transmitters, are available. Alternate methods of determining location of mobile devises indoors have emerged. Some methods involve a specific infrastructure, such as infrared beacons or ultrasound emitters while others rely on “triangulation” of the signal of a wireless network. The latter is advantageous since it relies on a now widespread infrastructure, a wireless network, and since it provides the location mostly as a by-product of the networking service.
The wireless or WiFi triangulation method (the method does not actually rely on triangulation of measured signals, since wireless signals are not directional. The WiFi triangulation method relies on characterizing each place by the signal strength of the wireless access points that cover it. A calibration phase is first used to map the values of the signal strength throughout the area in which devices are intended to be tracked. After the calibration phase the values of the access point signal strengths are used to find the most probable device location. In one implementation, the wireless triangulation location method compares measured wireless signal strength to a table of wireless signal strengths and known locations, finds the table entry with the closest signal strength to the measured signal strength and determines its location by reference to the found table entry.
The wireless triangulation method relies on supervised machine learning techniques, which involve the collection of labeled network samples. The calibration phase consists of physically visiting each location in order to record a series of network samples for training the system. There are three main issues with WiFi triangulation. First, the required calibration phase is time consuming. Secondly, the collected data can be partially invalidated because of environmental changes (often as simple as the difference between a room full of people and an empty room), which silently modify the radio wave propagations and reflections within the area, and therefore require a new calibration. Thirdly, finding the most probable location requires a significant amount of memory and processing capability. Indeed the larger the calibration data is, the more accurate will be the method, and the more memory and CPU it will require. Some systems solve the memory and CPU issue, by letting the mobile device report the radio condition it experiences to a central machine that determines the device location, or in other words, tracks the device location. Also, depending of the settings, the user may reject or object to this approach, for privacy reasons.